1. Field of the Invention
The present invention relates to the field of coded data transmissions. More particularly, the present invention relates to a device for providing an alternative to reliance on software for the encoding of data to be transmitted. More particular yet, the present invention involves a device embodied in hardware that encodes the data to be transmitted. The use of hardware and nominal programming creates a hardware bit coder according to the present invention that is independent of microcontroller resources and time.
2. Description of the Prior Art
Contemporary applications of computers and electronic devices continue to increase in complexity. Increased features of such applications place a premium on fast data transmission with minimal time and energy requirements. Finding the solutions to increased data transmission while reducing time and energy requirements continues to place demands upon the system's designers and software engineers who resort to increasingly complex programming software. The problem inherent in following a software solution is that any increase in data transmission is typically countered, and oftentimes outweighed, by an overall decrease in system efficiency. This is readily apparent in the microcontroller resources that must be used to run the increasingly complex software required to perform demanded tasks. Increased use of microcontroller resources directly impacts vital aspects of the system such as the total amount of program memory required by the microcontroller to accomplish the software-based task. Use of microcontroller resources is therefore of primary concern.
In the field of coded data transmission, there exists a predominant use of software manipulation to encode and decode data bits. That is, it is often necessary to enable a data receiver to confirm the value (1 or 0) of a particular bit. As bit transmission rates continue to increase, particularly in the area of Infrared/Radio Frequency (IR/RF) transmissions, the amount of time that a receiver has to recognize the bit value is reduced. In order to aid the receiver--i.e., some sort of processing system--in accurately recognizing an incoming bit value it is necessary to assign some more-readable coded value to that incoming bit. Typically, that coded value is a series of bits equivalent to the incoming bit value. That coded value has been created when a processor writes data to a data register. The data is then encoded in a selected format and then shifted out for transmission. For example, if a data bit is a high (1) value, various types of protocol software have been developed so as to encode that bit as a signal, such as 1010 for example, that is used to define that particular bit value. A similar type of corresponding bit series, such as 0111, would be used to generate a waveform equivalent to a low (0) value. It can be seen that a waveform is created as a function of a single bit value. Since a suitable processing system on the receiving end can more easily comprehend accurately the distinction between those two distinct waveforms, the accuracy of the reading of the incoming signals is enhanced. Similarly, at the receiving end there is also means for decoding the encoded signal in order to output a single bit value for processing.
As indicated, the task of encoding data has been left primarily to software developers. For that reason, standardized protocols have been developed In particular, a variety of protocols have been developed that allow programmers to design software to deal with any given application and related design specifications. Such protocols include Manchester, PWM, NRZ, and other modes. While using software is a useful manner with which to handle coded data bits, software manipulation is inherently problematic as such software occupies microcontroller time at the expense of other functions. Such consumption of microcontroller resources is in addition to the difficulties common to software such as, but not limited to, compatibility concerns and de-bugging issues.
With the increasingly complex, software-based prior-art in mind, there is revealed a need for a simpler approach to data bit coding. What is needed is a device that substantially reduces or eliminates the need for software to encode one or more bits of data to be transmitted. What is also needed is such a device that operates substantially independent of microcontroller resources to the extent reasonably possible. Further, what is needed is a single device capable of handling data streams coded in a variety of protocols. Still further, what is needed is a device that emulates substantially all bit coding protocols with nominal reliance on programming.